1. Field of the Invention
The present invention relates to a method of sequentially selecting a bootable memory module for booting, more particularly to a method able to automatically find out usable memory modules for booting and preventing a computer from unable to be booted.
2. Prior Art of the Invention
Dual In-line Memory Modules (called DIMM) and Single In-line Memory Modules (called SIMM) are small-scale circuit board with numerous memory chips. DIMM is in the forms of 72, 144, and 168 pins. The so-called “Dual” means that the right and left sides of the connecting finger receive different signals. DIMM includes Random Access Memory (RAM) chips mounted therein, that is, it is formed by coupling of two SIMMs. As the SIMM, the DIMM can be made in the form of single side or double sides. If one DIMM is mounted on a main board, it is not necessary to add another DIMM to form a pair. It can be paired randomly. For example, a DIMM with 64 mega bytes (called MB) can be inserted into a slot beside a DIMM with 32 MB. The difference between the DIMM and the SIMM is that the pins on both sides of the circuit board of the DIMM have independent circuits while circuits of the pins on both sides of the SIMM are connected. In other words, each of pins on both sides of the DIMM has its own specific definition for providing a broader access path to have a faster data transmission speed than that of the SIMM.
A DIMM with 168 pins, as such, has a 64 bits access path for its memory chip. If a BUS of the Central Processing Unit (called CPU) also has an access path with 64 bits, then an entire access operation will be performed on the memory for one time only. Therefore, one main board (or called mother board) needs merely one DIMM Moreover, the DIMM further includes an Erasable Programmable Read-Only Memory (called EPROM) to enable the Basic Input Output System (called BIOS) to store various parameters, which are used to adjust a chipset to a best status. The DIMM used in a high-level computer or a workstation mainly has 200 pins, and provided with 72 bits access BUS, wherein 64 bits are used for data and the remaining 8 bits are used for Error Checking and Correction Code (called ECC).
The BIOS is the most basic software in the booting operation for start-up of the computer, which has the basic parameters or programs burnt in a Flash ROM when the main board left the factory. That is, the most basic function of the BIOS is used to memorize the basic setting of the computer. At the same time, the users can use the BIOS to set the booting mode and the related parameters of every hardware of the computer. Generally, the BIOS will perform a Power On Self Test to confirm the basic configuration of every hardware of the computer while the computer is booting. For example, while the general computer is booting the BIOS will perform an access test on the memory for three times (if it was set to “enabled”, then one times of access test will be performed to accelerate the booting speed). The various parameters stored therein are then loaded into the EPROM of the DIMM, thereby enabling the subsequently enabled software such as operation system to acquire the configuration setting of every hardware of the computer.
However, please refer to FIG. 1, for most computers the operation of loading various stored parameters into the memory modules will be performed according to the steps of:
(101) initializing memory modules n=0;
(102) reading the registered data of the nth memory module of the memory modules;
(103) determining if the nth memory module is existed. If yes, the step (110) is performed; if not, the following step (104) is performed;
(104) the number of n plus one;
(105) determining if the number of the nth is equal to or small than a maximum number the system can support; if yes, the step (102) is performed; if not, the following step (106) is performed;
(106) copying the parameters of the BIOS to the first memory module;
(107) comparing the parameters stored in the first memory module with the original parameters of the BIOS to determine that whether they are matched or not; if yes, the following step (108) is performed; if not, the step (109) is performed;
(108) performing a subsequent booting operation by using the parameters stored in the first memory module, then end;
(109) stopping the computer;
(110) setting the data of the nth memory module for a memory controller, and then performing the step (104).
As it can be seen that if the parameters stored in the first memory module are not complied with the original parameters of the BIOS, the first memory module cannot normally store the parameters of the BIOS. That is, the BIOS will not load any stored parameter into the memory modules, which will result in the computer cannot accomplish the booting procedure, the computer be shut down, the program can not continuously executed, and no frame and suggestive string are shown by the system. It is very inconvenient.